//--------------------------------------------------------------------//
//  Clase creada automaticamente  -  miércoles, 23 de noviembre de 2011   //
//                                                                    //
//  Puede ser modificada, el generador no sobreescribe este archivo.  //
//--------------------------------------------------------------------//
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Specialized;
using DataBaseManager;
using Utilities.Common;
using BL.DataAccess;

namespace BL.Entities
{
	public partial class Profesionales
	{
		//  Agregue su codigo aqui...

		public void Save()
		{

			
            DataBase.Current.Insert(Tables.Profesionales, LoadParameters());
		}
        public void SaveUpdate() {

      

            DataBase.Current.Update(Tables.Profesionales , LoadParameters());
        }

        private ParameterManager LoadParameters()
        {
            ParameterManager pM = new ParameterManager();
            DateTime dt = (DateTime)this.FechaAfiliacion;
            pM.Add(new Parameter("Activo", this.Activo));
            pM.Add(new Parameter("FechaAfiliacion", dt.ToShortDateString() ));
            pM.Add(new Parameter("Matricula", this.Matricula, true));
            if (this.Localidad != "")
            {
                pM.Add(new Parameter("Localidad", this.Localidad));
            }
            if (this.Nombre != "")
            {
                pM.Add(new Parameter("Nombre", this.Nombre));
            }
            if (this.Apellido != "")
            {
                pM.Add(new Parameter("Apellido", this.Apellido));
            }
            if (this.Mail != "")
            {
                pM.Add(new Parameter("Mail", this.Mail));
            }
            if (this.Telefono != "")
            {
                pM.Add(new Parameter("Telefono", this.Telefono));
            }
            if (this.CodigoPostal != "")
            {
                pM.Add(new Parameter("CodigoPostal", this.CodigoPostal));
            }
            if (this.Domicilio != "")
            {
                pM.Add(new Parameter("Domicilio", this.Domicilio));
            }
            if (this.Fax != "")
            {
                pM.Add(new Parameter("Fax", this.Fax));
            }
            return pM;
        }
        public string GetNombreFormal()
        {
            return Apellido + ", " + Nombre;
        }

   
        public string GetNombreResumido()
        {
           
                return PrimeraLetraMayúscula(Resumir(Apellido)) + ", " + PrimeraLetraMayúscula(Resumir(Nombre));
           
        }
        private string Resumir(string cadena)
        {
            string cad = cadena;

            if (cad != "")
            {
                try
                {
                    cad = cadena.Split(new char[] { ' ' }, System.StringSplitOptions.RemoveEmptyEntries)[0];
                }
                catch
                {
                    Log.PublicLog.Write("Fallo resumir cadena: " + cad);
                }
            }

            return cad;

        }

        private string PrimeraLetraMayúscula(string texto)
        {
            return texto.Substring(0, 1).ToUpper() + texto.Substring(1).ToLower();
        }
	}
}
